Skip to content

Add support for Visual Studio 2026#2509

Open
hwangsihu wants to merge 2 commits into
DOCGroup:masterfrom
hwangsihu:master
Open

Add support for Visual Studio 2026#2509
hwangsihu wants to merge 2 commits into
DOCGroup:masterfrom
hwangsihu:master

Conversation

@hwangsihu
Copy link
Copy Markdown

@hwangsihu hwangsihu commented Mar 4, 2026

Summary by CodeRabbit

  • New Features

    • Added official support for Visual Studio 2026, including updated toolset handling and new project templates/configurations.
  • Chores

    • Expanded Windows CI to run VS2026 build configurations.
    • Added new build/configuration fragments to enable VS2026 builds and feature flags.
  • Documentation

    • Updated release notes announcing Visual Studio 2026 support.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 4, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 4af04f1f-bf71-4905-840f-33aeecb70719

📥 Commits

Reviewing files that changed from the base of the PR and between a0b4738 and 0e0c29f.

📒 Files selected for processing (3)
  • .github/workflows/cmake.yml
  • .github/workflows/windows.yml
  • ACE/NEWS
✅ Files skipped from review due to trivial changes (1)
  • ACE/NEWS
🚧 Files skipped from review as they are similar to previous changes (2)
  • .github/workflows/cmake.yml
  • .github/workflows/windows.yml

Walkthrough

Added Visual Studio 2026 support across CI, build tooling, and ACE configuration: new CI matrix entries, new MSVC 14.5 config header and gating, VS2026 MakeProjectCreator feature and nmake files, and a NEWS entry documenting the addition.

Changes

VS2026 support (CI, MSVC config, MakeProjectCreator, docs)

Layer / File(s) Summary
CI matrix entries
.github/workflows/cmake.yml, .github/workflows/windows.yml
Add VS2026 entries to the GitHub Actions matrices: new vs2026 toolset using windows-2025-vs2026 runner and x64 Debug/Release variants (vcpkg settings preserved).
MSVC config header and gating
ACE/ace/config-win32-msvc-145.h, ACE/ace/config-win32-msvc.h
Introduce config-win32-msvc-145.h (defines ACE_WIN32_VC145) and update _MSC_VER checks to include the new header when _MSC_VER >= 1950, falling back to the existing 143 header otherwise.
MakeProjectCreator feature file
ACE/bin/MakeProjectCreator/config/vs2026.features
Add VS2026 feature flags: ssl=0, qos=1, rwho=0, sctp=0.
MakeProjectCreator nmake config
ACE/bin/MakeProjectCreator/config/vs2026nmake.mpb
Add nmake-specific configuration: remove /Wp64 and /Gm, and suppress VC warnings 4456/4458/4459 for the nmake backend.
Release notes
ACE/NEWS
Add NEWS bullet announcing Visual Studio 2026 support.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • jwillemsen

Poem

🐰 Hop, a new toolset leaps in view,
VS2026, shiny and new.
Workflows updated, headers align,
Feature files tucked in a neat design.
I nibble the build and joyfully chew.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Add support for Visual Studio 2026' directly and accurately describes the primary change across all modified files, which collectively add VS 2026 configuration to CI workflows, build systems, and compiler configuration headers.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jwillemsen
Copy link
Copy Markdown
Member

Have you done a full build with tests? On github CI we only compile a small part of the code and don't run tests at all.

@hwangsihu
Copy link
Copy Markdown
Author

Hi.

Sorry, is there any documentation on building ACE and TAO? I can't find it.

@jwillemsen
Copy link
Copy Markdown
Member

See https://htmlpreview.github.io/?https://github.com/DOCGroup/ACE_TAO/blob/master/ACE/ACE-INSTALL.html, at the bottom there are some instructions to build from git. Without a full build/test I think it is too early to say Visual Studio 2026 is supported, maybe it compiles the core, but the real test is a full build/test and also look at warnings and runtime test results.

@hwangsihu hwangsihu marked this pull request as draft March 4, 2026 10:37
@jwillemsen
Copy link
Copy Markdown
Member

Depends on DOCGroup/MPC#242

@hwangsihu
Copy link
Copy Markdown
Author

Okay, Seems good.

@hwangsihu hwangsihu marked this pull request as ready for review March 4, 2026 15:24
feature(ace_languagestandard2017) {
specific(vs2017,vs2019,vs2022) {
specific(vs2017,vs2019,vs2022,vs2026) {
LanguageStandard = stdcpp17
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't think vs2026 needs this overwritten standard version

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI tests in DOCGroup/MPC#242 failed because this option was missing. Will merging the PR with this option removed solve the problem?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The default C++ version for Visual Studio 2026 is C++20 as far as I can determine from public documentation, so something to investigate and test more.


feature(ace_languagestandard2017) {
specific(nmake) {
compile_flags += /std:c++17
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

think this feature is not necessary

Comment thread ACE/tests/OneByteFile Outdated
@codacy-production
Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity

Metric Results
Complexity 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants